Add OSD_STATE_GROUP_ELEMENTS state to osdUpdate() and optimise DMA vs polled MAX7456...
[betaflight.git] / docs / boards / Board - CJMCU.md
bloba377206101c7f820a8b2a7e0162c1aa34df2ce51
1 # Board - CJMCU
3 The CJMCU is a tiny (80mm) board running a STM32F103, which contains a 3-Axis Compass (HMC5883L) 
4 and an Accelerometer/Gyro (MPU6050).
6 This board does not have an onboard USB-Serial converter, so an external adapter is needed.
8 # Hardware revisions
10 | Revision | Notes |
11 | -------- | ----- |
12 | 1        | No boot jumper pads by LED1. Uses blue and red LEDs |
13 | 2        | Boot jumper pads presoldered with pins and a jumper by LED1. Uses green and red LEDs. |
15 Version 2 boards are supported from firmware v1.4.0 onwards, do NOT flash earlier versions to version 2 boards.
17 # Pins
19 ## RX Connections
21 | Pin Label | Description              |
22 | --------- | ------------------------ |
23 | PA0       | RC Channel 1             |
24 | PA1       | RC Channel 2             |
25 | PA2       | RC Channel 3 / USART2 TX |
26 | PA3       | RC Channel 4 / USART2 RX |
27 | VCC       | Power (See note)         |
28 | GND       | Ground                   |
30 NOTE: The VCC RX Pin is not regulated and will supply what ever voltage is provided to the board, this will mean it'll provide 5v if a 5v serial connection is used. Be careful if you are using a voltage sensitive RX. A regulated 3.3v supply can be found on the top pin of column 1, just below the RX GND pin.
32 ## Serial Connections
34 USART1 (along with power) is on the following pins.
36 | Pin Label | Description     |
37 | --------- | --------------- |
38 | TX1       | UART1 TX        |
39 | RX1       | UART2 RX        |
40 | GND       | Ground          |
41 | 3V3       | Power +3.3v     |
42 | 5V        | Power +5v       |
44 USART2 is the following pins.
46 | Pin Label | Description |
47 | --------- | ----------- |
48 | PA2       | USART2 TX   |
49 | PA3       | USART2 RX   |
52 ## Power Connections
54 | Pin Label | Description             |
55 | --------- | ----------------------- |
56 | Power +   | Power - 1 Cell 3.7v Max |
57 | Power -   | Ground                  |
59 ## Motor Connections
61 In standard QUADX configuration, the motors are mapped:
63 | Cleanflight | CJMCU  |
64 | ----------- | ------ |
65 | Motor 1     | Motor3 |
66 | Motor 2     | Motor2 |
67 | Motor 3     | Motor4 |
68 | Motor 4     | Motor1 |
70 It is therefore simplest to wire the motors:
71  * Motor 1 -> Clockwise
72  * Motor 2 -> Anti-Clockwise
73  * Motor 3 -> Clockwise
74  * Motor 4 -> Anti-Clockwise
76 If you are using the Hubsan x4/Ladybird motors, clockwise are Blue (GND) / Red (VCC) wires, anticlockwise
77 are Black (GND) / White (VCC).
78 i.e. there is one wire on each motor out of the standard RED/BLACK VCC/GND polarity colors that can be used to identify polarity.
80 If you have wired as above, Motor1/Motor2 on the board will be forward.
82 # Connecting a Serial-USB Adapter
84 You will need a USB -> Serial UART adapter. Connect:
86 | Adapter           | CJMCU                      |
87 | ----------------- | -------------------------- |
88 | Either 3.3v OR 5v | The correct 3.3v OR 5v pin |
89 | RX                | TX                         |
90 | TX                | RX                         |
92 When first connected this should power up the board, and will be in bootloader mode. If this does not happen, check 
93 the charge switch is set to POW.
94 After the flashing process has been completed, this will allow access via the cleanflight configurator to change 
95 settings or flash a new firmware.
97 WARNING: If the motors are connected and the board boots into the bootloader, they will start 
98 to spin after around 20 seconds, it is recommended not to connect the motors until the board
99 is flashed.
101 # Flashing
103 To flash the board:
104  * Open Cleanflight Configurator
105  * Choose the latest CJMCU firmware from the list.
106  * Select "Load Firmware [Online]" and wait for the firmware to download.
107  * Tick "No Reboot Sequence" and "Full Chip Erase"
108  * Connect the USB->Serial adapter to the board
109  * Select the USB-UART adapter from the top left box
110  * Click "Flash Firmware"
111  * You should see "Programming: SUCCESSFUL" in the log box
112  * Click "Connect" -> This should open the "Initial Setup" tab and you should see sensor data from the quad shown
113  * Unplug the quad and short the 2 "BOOT0" pins. Revision 1 boards require this to be soldered, revision 2 boards can connect the included jumper to the two pre-soldered pins - This prevents the board from going into bootloader mode on next
114    boot, if anything goes wrong, simply disconnect these two pins and the bootloader will start, allowing you to reflash. You cannot
115    overwrite the bootloader.
117 # Charging
119 The CJMCU has on it a TP4056 Lithium battery charging IC that can charge a 1S battery at 1A using a provided 5v supply attached to the 5v serial pin.
121 To charge an attached battery:
122  * Set the power switch to OFF
123  * Set the charge switch to CHG
124  * Plug in a 1S battery to the battery pins
125  * Plug in a 5v supply to the 5v serial pins
127 The charger will finish when either the battery reaches 4.2v, or the battery's voltage is greater than the charger's input voltage.
129 The two nearby LEDs will show the status of charging:
131 | Status             | Green LED | Red LED   |
132 |--------------------|-----------|-----------|
133 | Charging           | On        | Off       |
134 | Finished           | Off       | On        |
135 | 5v not connected   | Off       | Off       |
136 | Batt not connected | Flashing  | On        |
139 # Helpful Hints
141  * If you are only using a 4 channel RX, in the auxiliary configuration tab, you can add a "Horizon" mode range around 1500 
142  for one of the the AUX channels which will result in it being always on
143  * Enabling the feature MOTOR_STOP helps with crashes so it doesn't try to keep spinning on its back
144  * When the power runs low, the quad will start jumping around a bit, if the flight behaviour seems strange, check your batteries charge